package algutil.partagemusic.appli;

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.log4j.Logger;

import algutil.fichier.ActionsFichiers;
import algutil.fichier.ConversionFichier;
import algutil.fichier.exception.CopieException;
import algutil.fichier.exception.SuppressionException;
import algutil.partagemusic.option.Options;

public class ToDeleteProcess {

	private final static Logger log = Logger.getLogger(ToDeleteProcess.class);

	public static void main(String[] args) throws IOException, CopieException,
			SuppressionException {

		Options.configLog4j();
		log.info("#### TO DELETE PROCESS ########################");

		File toDelFile = Options.getInstance().getMyToDelFile();

		if (!toDelFile.exists() || !toDelFile.isFile()) {
			log.info("Pas de todel file");
			System.exit(0);
		}

		List<String> files = ConversionFichier
				.convertTextFile2StringTab(toDelFile);

		log.info(files.size() + " fichier(s) en demande");

		for (int i = 0; i < files.size(); i++) {
			File f = new File(files.get(i));

			if (!f.exists()) {
				log.warn("Le fichier '" + f.getPath() + "' n'existe pas");
			} else {
				log.info(" Suppression de '" + f.getPath() + "'");
				if (f.isDirectory()) {
					ActionsFichiers.deplacerRepertoireVers(f, Options
							.getInstance().getMyTrashDirectory(), true);
				} else {
					ActionsFichiers.deplacerFichierVersRepertoire(f, Options
							.getInstance().getMyTrashDirectory(), true);
				}
			}
		}

		// Supprimer toDel file
		ActionsFichiers.supprimerFichier(toDelFile);
	}
}
